Asymmetric Multiprocessing for Simultaneous Multithreading Processors
نویسندگان
چکیده
Simultaneous Multithreading (SMT) has become common in commercially available processors with hardware support for dual contexts of execution. However, performance of SMT systems has been disappointing for many applications. Consequently, many SMT systems are operated in a single-context configuration to achieve better average throughput, depending on the application domain. This paper first examines the performance of several benchmarks programs in both uniprocessor mode (one hardware thread context) and SMT mode (two contexts) on a Hyperthreaded Pentium 4. Based these results, three classes of applications can be distinguished: 1) those that prefer to execute in SMT, 2) those that prefer uniprocessor-mode, and 3) those that do not care. Our classification takes into account two aspects: (a) the performance of the application itself when sharing the system and (b) the performance of other applications whose concurrent execution is being affected. The paper introduces a novel bi-modal scheduler for Linux that continuously alternates between two distinct modes: SMT and UNI. The SMT mode uses the standard Linux SMP scheduler with its support for SMT while the UNI mode uses the standard uniprocessor scheduler, activating only one hardware context. Thus, the system alternates between operating as an SMT and operating as a uniprocessor even though its hardware is multithreaded. An application labeled as UNI will only execute in the UNI mode phase while SMT applications run concurrently. In addition, we provide a third class, called ANY, for processes that are agnostic with regard to SMT. Need a results sentence here!
منابع مشابه
Performance Evaluation of Intel's Quad Core Processors for Embedded Applications
Recently, multiprocessing is implemented using either chip multiprocessing (CMP) or Simultaneous multithreading (SMT). Multi-core processors, represent CMP processors, are widely used in desktop and server applications and are now appearing in real-time embedded applications. We are investigating optimal configurations of some of the available multi-core processors suitable for developing real-...
متن کاملSimultaneous Multithreading: Maximizing On-Chip Parallelism - Computer Architecture, 1995. Proceedings., 22nd Annual International Symposium on
This paper examines simultaneous multithreading, a technique permitting several independent threads to issue instructions to a superscalar's multiple functional units in a single cycle. We present several models of simultaneous multithreading and compare them with altemative organizations: a wide superscalar, a fine-grain multithreaded processor, and single-chip, multiple-issue multiprocessing ...
متن کاملC-slow Technique vs Multiprocessor in designing Low Area Customized Instruction set Processor for Embedded Applications
The demand for high performance embedded processors, for consumer electronics, is rapidly increasing for the past few years. Many of these embedded processors depend upon custom built Instruction Ser Architecture (ISA) such as game processor (GPU), multimedia processors, DSP processors etc. Primary requirement for consumer electronic industry is low cost with high performance and low power cons...
متن کاملIs Intel’s Hyper-Threading Technology Worth the Extra Money to the Average User?
In the mid-1990’s, Intel Corporation decided to use symmetric multiprocessing (SMP) in order to increase the number of instructions that could execute simultaneously by putting more than one processor on a motherboard. This idea increased the overall performance of a system, but it was too expensive for the average user to afford. Intel then looked into the idea of simultaneous multithreading (...
متن کاملAnalysis and Evaluation of The Synchronized Pipelined Parallelism Model
Advances in processor design have led to the development of Chip Multiprocessors (CMP) and Simultaneous Multithreading (SMT) processors that can exploit Thread-Level Parallelism (TLP) in suitably parallelized applications. The performance of these processors, however, largely depends on the programming model chosen for parallelization. For several important classes of applications, the commonly...
متن کامل